package com.htgd.gardenexpo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author: 王秀田
 * @date: 2024/11/26 14:14
 * @description: 用户参赛报名表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ge_con_user_compete")
@ApiModel(value="GeConUserCompete对象", description="用户参赛报名表")
public class GeConUserCompete implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "openId")
    private String openId;

    @ApiModelProperty(value = "运动类型('1':赛事运动,'2':休闲运动)")
    private String sportsType;

    @ApiModelProperty(value = "手环编号")
    private String bracelet;

    @ApiModelProperty(value = "收货地址ID")
    private Integer addressId;

    @ApiModelProperty(value = "参赛人员ID")
    private Integer informationId;

    @ApiModelProperty(value = "运动ID")
    private String motionId;

    @ApiModelProperty(value = "报名状态（‘1’：报名失败，‘0’：报名成功）")
    private String status;

    @ApiModelProperty(value = "报名时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "身份证号")
    private String idCard;

    @ApiModelProperty(value = "所在地区")
    private String region;

    @ApiModelProperty(value = "详细地址")
    private String detail;

    @ApiModelProperty(value = "甲板ID")
    private Long userId;

    @ApiModelProperty(value = "组ID")
    private String groupId;

    @ApiModelProperty(value = "总里程")
    private Double sumMileage;

    @ApiModelProperty(value = "总时长")
    private Long sumDuration;

    @ApiModelProperty(value = "赛事是否完赛（1完赛，2未完赛）")
    private String isComplete;

    @ApiModelProperty(value = "比赛状态（0：未开始，1：进行中，2：已结束，3：未完成）")
    private Integer scoreStatus;
}
